#include <iostream>
using std::cout;
using std::endl;

class CowString{
public:
    CowString()
    :_pstr(new char[1]())
    ,_refcount(1)
    {

    }
    //执行拷贝构造函数的时候，+1
    //析构函数的时候 -1
    //引用计数应当是所有的string共享这个数据
    //因为这个引用计数指的是当前堆空间被多少个string对象所指向
    //但是目前的代码很明显不满足
    CowString(const CowString & rhs)
    :_pstr(rhs._pstr)
    ,_refcount(rhs._refcount + 1)
    {
        //不可以执行++操作，因为被const修饰
        //把const去了？？？？？
        ++rhs._refcount;
    }

private:
    char * _pstr;
    int _refcount;//error
};


void test(){
}

int main()
{
    test();
    return 0;
}

